package cn.zqy.demo2.day01.demo01;

public class Demo03OverrideEquals {
    private String name;
    private int age;

    @Override  // 传递过来的是Object，实际用的是Demo03OverrideEquals(比较内容)，Object不知道子类的内容，只能向下转型。。
    public boolean equals(Object o) {
        /*下面这些条件能加快程序运行*/
        // 和自身比较
        if(this == o) {
            return true;
        } else if(o == null) {  //   传递为空就是false
            return false;
            // 判断比较的内容
        } else if (o instanceof Demo03OverrideEquals) {
            Demo03OverrideEquals p = (Demo03OverrideEquals) o;
            if(this.age == p.age && this.name.equals(p.name)) {
                return true;
            }
        }
        return false;

    }

    public Demo03OverrideEquals(String name, int age) {
        this.name = name;
        this.age = age;
    }
}
